package com.mdc.mansion.common.mapper;

import net.sf.json.JSONObject;

import org.apache.commons.lang.StringUtils;

import com.google.gson.Gson;
/**
 * java对象与json的互换
 * @author chenmingdong
 *
 * 2016年1月28日
 *
 */
public class JsonMapper {
	private static final Gson gson=new Gson();
	/**
	 * 将对象变为Json字符串
	 * <br>Gson
	 * @param src
	 * @return
	 */
	public static String toJson(Object src){
		String json="";
		if(src!=null){
			json=gson.toJson(src);
		}
		return json;
	}
	
	/**
	 * 将字符串转为对象
	 * @param json
	 * @param clazz
	 * @return
	 */
	public static <T> T fromJson(String json,Class<T> clazz){
		if(StringUtils.isEmpty(json)){
			return null;
		}else{
			return gson.fromJson(json, clazz);
		}
	}
	
	/**
	 * net.sf.json.JSONObject.fromObject(object)
	 * @param object
	 * @return
	 */
	public static JSONObject fromObject(Object object) {
		return JSONObject.fromObject(object);
	}
	
	/**
	 * com.alibaba.fastjson.JSONObject.toJSONString(object)
	 * @param object
	 * @return
	 */
	public static String toJSONString(Object object) {
		return com.alibaba.fastjson.JSONObject.toJSONString(object);
	}
	
	/**
	 * net.sf.json.JSONObject.fromObject(object).toString()
	 * @param object
	 * @return
	 */
	public static String toString(Object object) {
		return JSONObject.fromObject(object).toString();
	}
}
